%M %CODE %BEGIN %INTEGER I,J,K,NLIB,LFLAG,DEVNO, LISTFLAG,M10,M13 %INTEGER LINE,LENGTH,Q,N0,NUM,NEXT,V,FAULTY,N,NR %INTEGER R,QU,PLABEL,LEVEL,MC SWITCH, PERM,AFLAG,DFLAG,OVERFLAG %INTEGER V0,PPSTART,PP CURR,ABC,FFLAG %INTEGER PT BLOCK,PCH SUM, PTDEV,PL START,PL CURR, PS START %INTEGER PS CURR,COMPILER,DIAGS %INTEGER TIME LIMIT, MARKER 1, MARKER 2, Q5, Q6, Q7 %INTEGER %ARRAY ST(-3:2300),A(1:400),WORD,TAGS(-1:340),%C SL(1:120),LETT(1:620) %INTEGERARRAY CC(0:300) %INTEGER %ARRAY CYCLE,NAME,LABEL,JUMP,FLAG,RAL,SET,L,M %C ,ARRDIM(0:10) %INTEGER %ARRAY RA(-3:200),PP BUF, PL BUF, PS BUF(-3:99),T(1:7) %REAL A', A'' %ROUTINE %SPEC COMPARE %ROUTINE %SPEC CSS %ROUTINE %SPEC SPLASH(%INTEGER WARNING,%INTEGER %NAME FROM) %ROUTINE %SPEC INITIALISE %ROUTINE %SPEC DPCA %INTEGER %FN %SPEC CA T(1)=5 T(2)=6 T(3)=15 T(4)=8 T(5)=9 T(6)=15 T(7)=8 TIME LIMIT = 120 *ZERO; *NOT; *SHL-9; *SET 47; *FLOAT; **=A'' ABC=0 *JS98P %CYCLE J=1,1,5; SKIP SYMBOL; %REPEAT READ(K) %INTEGERARRAY CLETT(1:K) %CYCLE J=1,1,K; READ(CLETT(J)); %REPEAT READ(K) %INTEGERARRAY SYMBOL (1300:K) %CYCLE J=1300,1,K; READ(SYMBOL(J)); %REPEAT READ(K) LFLAG=0; LISTFLAG=0; NLIB=90 *SET58P:; *=E160 DIAGS=0 OVERFLAG = 1 DFLAG = 0 FAULTY=0 N0=4 N = 2 NR = 0 MC SWITCH = 0 PERM = 1 COMPILER = 1 QU = 1 PLABEL = 50000 LEVEL = 0 %CYCLE J = 2300,-1,801 ST(J) = J-1 %REPEAT ST(800) = 0 J = -1 %CYCLE I = 0,1,10 ARRDIM(I)=0 CYCLE (I) = J NAME (I) = J LABEL (I) = J JUMP (I) = J %REPEAT %CYCLE I = 0,1,330 TAGS (I) = J %REPEAT %CYCLE I = 1,1,120 SL(I) = 0 ; RA(I)=0 %REPEAT %COMMENT INITIALISATION 320: * SET 2300 * DUP * = I9 * = C9 ** `ST(0) * = M9 PP CURR = 300 * 32768 ; %COMMENT 0/150/0 INITIALISE -> 342 %ROUTINE INITIALISE *C0 TO Q1 *C0 TO Q3 * C0 TO Q4 * SET 419 * = M13 * M0M13 * DUP ** = PT DEV * = C15 **COMPILER; *J1=Z * SET 5 * = M15 * PMDQ15 ; %COMMENT REWIND * PMAQ15 ; %COMMENT SKIP LABEL, CALL, AND POSSIBLY COMPILER 1: V0 = 65535 PT BLOCK = 0 P CH SUM = 0 PL CURR = 0 PS CURR = 65536 ** ` PP BUF (0) ** = PP START ** ` PL BUF (0) ** = PL START ** ` PS BUF (0) ** = PS START %CYCLE I = -3,1,99 PP BUF (I) = 0 PL BUF (I) = 0 PS BUF (I) = 0 %REPEAT %END 50P: ** PP START * = M14 ** PP CURR * = Q15 304: * C15 * NOT * NEG * DUP * SET -8 * XD * CONT * = C15 * REV * SET 255 * AND * SHC C15 * M14 M15 * OR * = M14 M15 * SET 6 * J301# * ERASE * C0 TO Q15 54P: * SET 1 * = + M15 * SET 100 * M15 * J 302# * M0 TO Q 15 * = + I 15 * Q14 * Q15 SPLASH (0,PP BUF(0)) * = Q15 * = Q14 -> 303 301: * = C15 -> 303 302: * ERASE 303: * DC 14 * J304 C14 NZ * Q15 ** = PP CURR * EXIT 1 52P: ** PS START ** PS CURR -> 316 51P: ** PL START ** PL CURR 316: * = Q15 * = M14 * SET 2 * = C14 314: * C15 * SET 1 * DUP * = + C15 * - * DUP * J310 = Z * J311 > Z * SHL 32 * = M14M15 -> 312 310: * ERASE ** V0 * AND * SHL 16 * M14M15 * OR * = M14M15 -> 312 311: ** V0 * AND * M14M15 * OR * = M14M15 * C0 TO Q15 * SET 1 * = + M15 * SET 100 * M15 * - * J312 # Z * M0 TO Q15 * Q14 * Q15 * I15 * J313 # Z SPLASH (1, PL BUF (0)) -> 317 313: SPLASH (2, PS BUF (0)) 317: * = Q15 * = Q14 312: * DC14 * J314 C14 NZ * Q15 * I15 * J315 # Z ** = PL CURR * EXIT 1 315: ** = PS CURR * EXIT 1 %ROUTINE SPLASH (%INTEGER WARNING, %INTEGER %NAME FROM) %RETURN %IF FAULTY # 0 ** ` FROM * DUP * = RM14 * SET 3 * - * DUP * = I 15 * SET 100 * = C14 * ZERO * VR 2: * M0M14 Q * + * J1 NV * NOT * NEG 1: * J2 C14 NZ * M-I14 * M14 TO Q15 * REV * = M14 ** PT BLOCK * DUP * = M0M14 Q * NOT * NEG ** = PT BLOCK ** WARNING * = M0M14 Q * DUP * = M0M14 Q ** P CH SUM * + * J3 NV * NOT * NEG 3: ** = P CH SUM ** PT DEV * = C15 * POAQ 15; %COMMENT MWQ 15 * SET 100 * = C14 5: * ZERO * = M0M14 Q * J5 C14 NZ %END %ROUTINE DPCA %INTEGER P ->1 %IF LFLAG=1 **PP CURR *=Q14; *M+I14; *M14; *C14 *SET 7; *AND; **=P WRITE(P,3) PRINT SYMBOL ('/') **=P WRITE(P,3) 1:%END %INTEGER %FN CA ** PP CURR * DUP * = Q14 * M+I 14 * SHL-19 * SET B 160000 * AND * M14 * + %RETURN %END %ROUTINE DUMP %INTEGER I %CAPTION \\ PROGRAM _ (+ PERM) _ OCCUPIES ** CA * SET B 17777 * AND ** = I WRITE(I+N0+NR,1) PRINT SYMBOL('(') WRITE(I,5) %CAPTION )_WORDS -> 8 %IF FAULTY = 0 %CAPTION \PROGRAM _ FAULTY %STOP 10: %CAPTION \ PROGRAM _ TOO_ BIG\ %STOP 8: ST(0) = N0 ST(1) = NR ** PP CURR * = Q15 *M15; *I15; *+; *SET8191; *-; *J10>Z * J1C15 NZ * M15 * J 2 = Z 1: SPLASH (0,PP BUF (0)) 2: ** PL CURR * J3 = Z SPLASH (1, PL BUF (0)) 3: ** PS CURR * = Q15 * J4 C15 NZ * M15 * J5 = Z 4: SPLASH (2, PS BUF (0)) 5: I=0 6: SPLASH (3, ST(I)) I = I + 100 -> 6 %IF I < N0 I = 0 7: SPLASH (4, RA(I)) I = I + 100 -> 7 %IF I < NR ST(0) = P CH SUM SPLASH (7,ST(0)) *E419; *=RC15 *ZERO; *NOT; **=WORD(-1) **@WORD(-1); *DUP; *=I15 *SET341; *+; *=M15; *POAQ15 **@LETT(1); *DUP; *=I15; *SET619 *+; *=M15; *POAQ15; *PMDQ15 %CAPTION \PROGRAM _DUMPED \ COMPILING _ TIME ___ * SET 9 * OUT * SHL-24 * SET 91P: * =M13 * M0M13 * - * JS 2P %CAPTION _/__ * SET 3 * OUT * SHL-24 * SET 91P: * = M13 * M0M13N * - * JS 2P 15: *E384; *=Q15; *BUSYQ15; *J15TR NEWLINE ** TIME LIMIT ** PT DEV *SET4 * = M1 * Q0 TO Q11 * = C1 ; %COMMENT DEVICE * PMDQ1 ; %COMMENT REWIND * PMAQ1 ; ! SKIP LABEL + 3 DUMMIES **COMPILER; *J14=Z; *MANUALQ1; *ZERO; *OUT 14: *SET8; *=I15; *SET120; *=M15 *C1TOQ15; *PIAQ15; *ZERO; *=LINK; *EXIT31;!TO LOADER %END 342: %COMMENT SET UP $ AND ^2 * SET +2 * = M13 * SET B 401 * SHL +38 * = M13M9 * SET +3 * = M13 * SET B 40544 * = C14 * SET B 103755 * = I14 * SET B 50421 * = M14 * Q14 * = M13M9 *ZERO **=NUM ;! NUM = 0 *ZERO *NOT *DUP **=LINE ;! LINE = -1 *NEG **=NEXT ;! NEXT = 1 **`A(0) *=M15 *SET 48 ; ! '0' *=I15 **`SYMBOL(0) *=C15 *Q15 **=Q5 ;! STORE `SYMBOL(0)/'0'/`A(0) * I12 ; ! * SET 1 *=RM15 *Q15 **=Q6 ;! STORE `CWORD(0)/1/1 **`CC(0) *=M15 *SET 57 ; ! '9' *=I15 **`CLETT(0) *=C15 *Q15 **=Q7 ;! STORE `CLETT(0)/'9'/`CC(0) **`LETT(0) *=M15 *SET 6 *DUP *=I15 *=C15 *Q15 **=V ;! STORE 6/6/`LETT(0) 8: * I12 *=RC14 ; ! M14 = LENGTH, C14 = LENGTH' **Q7 ;! SET M7 = `CC(0) *=Q7 **Q5; *=RM6 *ZERO *J2NV PRINTSYMBOL(42) WRITE(LINE,4) %CAPTION__OVERFLOW_SET_ DURING_COMPILATION\ FAULTY=1; ->8 2: *C0 TO Q4 *ERASE 1: *Q14 *JS49P ;! READ CHAR *DUP; *=M0M6QN *REV; *C6; *SET399 *+; *J39=Z *=Q14 *SET 32 ; ! '_' *J2= *SET 37 ; ! ' ' *J20 # *=C4 *J1 20: *J3 C4Z *DUP *SET 65 ; ! 'A' *- *J21 < Z *DUP *SET 90 ; ! 'Z' *- *J21 > Z *SET 128 *OR *J3 21: *C0 TO Q4 3: *M+I14 *DUP *=M7M14 *SET 10 ; ! '\' *- *J1#Z *M14 *C14 *- *M-I14 *J8=Z *M7M14 *SET 195 ; ! '%C ' *- *J4#Z *M14 *=C14 *M-I14 *Q14 1011: *JS49P; *SET10; *- *J1011=Z; *E227; *=Q14 *M-I14; *Q14; *=E227; *=Q14; ! IGNORE NLS *M-I6; * M-I6 *M0M6; *SET37 *-; *J1#Z *M-I6; ->1 4: *M+I14 *M14 *DUP *SET 300 *- *J 39 > Z **=LENGTH **LINE *NOT *NEG **=LINE *I12 *=RM8 5: **LISTFLAG; *J5555=Z WRITE(LINE,5); SPACES(3*LEVEL) **Q5; *=RM6 *SET36P:; *=M14 *M0M14; *=Q15 5543:*M0M6QN; *DUP; *JS13P *SET10; *-; *J5543#Z *Q15; *=M0M14 5555: **Q5 *=Q5 **Q6 *=Q6 **Q7 *=Q7 **K COMPARE 4565: *J6 C8 Z *M6 *SET 380 *- *J11>Z CSS 4566: **A(1) *SET 15 *- *J7=Z *M8 **LENGTH *- *J8=Z ->5555 11: PRINT SYMBOL(42) WRITE (LINE,4) %CAPTION : _ LONG _ ANALYSIS _ RECORD \ %STOP 39: PRINT SYMBOL (42) WRITE (LINE,4) %CAPTION :_>_300_CHARS\ %STOP 6: PRINT SYMBOL (42) WRITE (LINE,4) %CAPTION : _ INSTRUCTION _ NOT _ RECOGNISED\ *I12 %IF FAULTY=1 %THEN ->5556 *E418; *=RC15; *E444; *=M15; *PMEQ15; *ZERO; *=E444 *E435; *SET1; *=C15; *JS25P %STOP %UNLESS LFLAG=0 5556: **=FAULTY **LENGTH *=M14 *Q8 TO Q15 **Q7 *=Q7 13: *M7M15 *SET 59 ; ! ':,' *- *J12#Z *M7M15N *SET 10 ; ! '\' *- *J9#Z 12: *M+I15 *M15 *M14 *- *J13#Z 9: %BEGIN %INTEGER PC PC=0 *M8 **=Q *M15 **=I %CYCLE J=Q,1,I %IF PC=0 %THEN ->1 %IF CC(J) < 128 %THEN ->2 CC(J)=CC(J)-128 ->3 2: PC=0 ->3 1: ->3 %IF CC(J)<128 PRINT SYMBOL (37) PC=1 CC(J)=CC(J)-128 3: PRINT SYMBOL (CC(J)) %REPEAT NEWLINE %END **I **LENGTH *- *J8=Z **I *NOT *NEG *=M8 -> 5555 7: DUMP %ROUTINE COMPARE %INTEGER RA,RP,RQ,RR,RS,SAVE %SWITCH BIP(1000:1009) ! Q5 = `SYMBOL(0) / 48 / `A(0) '0' = 48 ! Q6 = `CWORD(0) / 1 / R ! Q7 = `CLETT(0) / 57 / `CC(0) '9' = 57 ! Q8 = HIT / 1 / Q ! ENTER WITH P IN NS *DUP *NOT *NEG **=RS ;! RS=P+1 *C5 *+ *=M13 *M0M13 **=RP ;! RP=SYMBOL(P) *M0M13N **=RA ;! RA =SYMBOL(P+1) *M8 **=RQ ;! RQ=Q *M6 **=RR ;! RR=R *I6 *=M5M6 1: *M+I6 ;! R=R+1 BIP(1000):2:**RS *NOT *NEG *DUP **=RS ;! RS=RS+1 **RA *J8= ;! %IF RS=RA %THEN ->8 *C5 *+ *=M13 *M0M13 *DUP *SET 1300 *- *J4>=Z ;! %IF ITEM>=300 %THEN ->4 *DUP *SET 1000 *- *J6>=Z ;! %IF ITEM>=200 %THEN ->6 *DUP *=RM14 *C7 *=M13 *M13M14 *+ ;! CLETT(I)+I *DUP *=M15 *M14 *- *=C14 * 5: *M13M14QN *M7M8Q *- *J3#Z ;! %IF CLETT(I)# CC(Q) %THEN ->3 *J5C14NZS ;! %IF I5 ->2 4: COMPARE *J2C8NZ ;! %IF HIT#0 %THEN ->2 3: **RQ *=M8 ;! Q=RQ **RR *=M6 ;! R=RR **RA `j~vp `````~Nw} ;! %IF RA=RP %THEN ->7 *DUP **=RS ;! RS=RA *M5M6 *NOT *NEG *=M5M6 ;! A(R)=A(R)+1 *C5 *+ *=M13 *M0M13 **=RA ;! RA=SYMBOL(RA) ->1 8: *ERASE *DC8 %RETURN 7: *ERASE *C0 TO Q8 %RETURN 6: **=J ->BIP(J) ! PHRASE NAME 9: *ERASE *J3 BIP(1001):*C0 TO Q8 *M7M8 *DUP *SET 65 ; ! 'A' *- *J99 *DUP *SET 90 ; ! 'Z' *- *J1021<=Z; *DUP *SETB 141; *-; *J9Z 1021: **V *=Q14 ;! Q14 = 6/6/`LETT(0) **NEXT *DUP *=RM15 ;! Q15 = 0/1/NEXT+S *REV; *DC14; *DC14 *ZERO; *NOT **=J ;! J=1 *M7M8QN 1101: *DUP ;! SEQUENCE FOR LETTERS *SET 65 ; ! 'A' *- *J1010 *DUP *SET 90 ; ! 'Z' *- *J11 <= Z ; ! %IF I<= 90 %THEN -> 11 *DUP; *SETB141; *-; *J10Z 11: *DC14 *REV *SHL+8 *OR ;! V=256*V+I *J12C14NZ *=M14M15Q ;! LETT(NEXT+S)=V *I14 *=C14 *ZERO 12: *M7M8QN **J; *DUP *J1103>Z; *J110113 *DUP *I7 *- *J11<=Z ;! %IF I<='9' %THEN ->11 13: *SET 1 **=J ;! J=3 *ZERO 1103: *ERASE *SET 39 ;! SEQUENCE FOR PRIMES 39 = ''' *J11= *ERASE *DUP *J15=Z ;! %IF V=0 %THEN ->15 *=M14M15Q ;! LETT(NEXT+S)=V *ZERO 15: *ERASE *=M13 *C8 *NEG *SHL40; *M14M13 *OR *=M14M13 ;! LETT(NEXT)=256*(NO. OF CHARS. IN WORD) !+(FIRST LETTER) *M15 *SET 620 *- *J 14 <= Z NEWLINES (2) PRINT SYMBOL (42) WRITE (LINE,4) %CAPTION :_NAMES _ TOO _ LONG\ %STOP 14: *M13 ;! DICTIONARY LOOK UP SEQUENCE *=I15 **`WORD(0) *Q9; **=SAVE *=M15 **NUM *DUP *=C13 *NEG; *NOT *NC15 ;! Q15 = S+1/NEXT/`WORD(0) *=RM9; *C13TOQ9;*I9=-1; ! U=-1 17: *I15; *=RM13; *J18C9Z *M14M13Q; *;! 1ST WORD OF NEW NAME *M15M9Q; *=RM10 *M14M10Q; *J16= *J17C9NZS *ERASE; ->18 16:*ERASE; *C15TOQ10; *DC10 *J133C10Z;* *M14M13Q; *M14M10Q; *-; *J17#Z; *J16C10NZS 133: *M9; *NOT; *NEG *=M5M6; ! A(R)=U **SAVE; *=Q9; ->1 18: **NUM; *DUP *=M13 *I15 *DUP *=M15M13 ;! WORD(NUM)=NEXT *C15 *+ **=NEXT ;! NEXT=NEXT+S+1 *DUP *=M5M6 ;! A(R)=NUM *NOT *NEG **=NUM ;! NUM=NUM+1 **SAVE; *=Q9 %IF NUM<330 %THEN ->1 NEWLINES (2) PRINT SYMBOL (42) WRITE (LINE,4) %CAPTION :_>_256_NAMES\ %STOP ! PHRASE CONST BIP(1002):*M7M8Q *SET 36 ;! '$' *J60# ;! %IF I#36 %THEN ->60 *ERASE ;! $ SEQUENCE *SET 2 *=M5M6 ;! A(R)=2 *M+I6 ;! R=R+1 *SET 3 *=M5M6 ;! A(R)=3 ->1 60: *SET 39 ;! ''' *J20# *J62 C3 NZ *M7M8N *REV *J101# ;! %IF I#39 %THEN ->101 *ERASE *M7M8Q *M+I8 *SET 95 ;! _ *J71= *SET 92 ;! \ *J72= ->76 101: *SET 76 ;! 'L' *J102= *SET 80 ;! 'P' *J103= ->9 102: *ERASE; *M7M8Q *SET 78 ;! 'N' *J9# *M7M8N *SET 39 *J9# *ERASE *M+I8 *M+I8 ->72 103: *ERASE; *M7M8Q *SET 83 *J9# *M7M8N *SET 39 *J9# *ERASE *M+I8 *M+I8 ->71 71: *ERASE *SET 32 ;! '_' ->76 72: *ERASE *SET 10 ;! '\' ->76 62: *ERASE *C0 TO Q13 *ZERO 66: *M7M8Q *SET 39 *J63= *SET 34 ;!" *J67= *SET 95 ;! _ *J64# *ERASE *J65 64: *SET B177 *AND 68: *SHLC13 *OR 65: *SET 8 *=+C13 ->66 63: *ERASE ->61 67: *ERASE *SET 39 ->68 20: *M-I8 *SET 41P: *=M14 *SET 1000 *=C14 *ZERO *REV *DUP *I5 *- *J19Z * ZERO *NOT *=C14 *J 23 22: *M7M8QN *DUP *I5 *- *J26Z *REV *M0M14 *XF   *REV *DC14 23: *I5 *- *I1 *FLOAT *+F *J22 26: *SET 46 ;! '.' *J27= *SET 96 ;!'`' *J28= 42: *ERASE *C14 *DUP *J44Z 44: *NEG *JS 14P *J34 29: *JS 15P *J34 21: *ERASE *ERASE 25: *ERASE *ERASE *J3 27: *ERASE *C14 *DUP *J33<=Z *ERASE *C0 TO Q14 *J22 28: *ERASE *ZERO *ZERO *M7M8QN *DUP *I5 *- *J31Z 32: *REV *SET 10 *XD *CONT *+ *I5 *- 35: *M7M8QN *DUP *I5 *- *J24Z *C14 *+ *J33 31: *SET 43 ;!'+' *J37= *SET 45 ;!'-' *J21# *CAB *ERASE *I12 *PERM 37: *ERASE *J35 30: *ERASE 34: *DUP **=A' ->431 %IF A'>=A'' **FRACPT(A') *J43=Z 431: *SET 2 *=M5M6 ;! A(R)=2 *M+I6 ;! R=R+1 **N0 *DUP *=M5M6 ;! A(R)=N0 *=RM13 *=M9M13Q ;! ST(N0)=A *M13 **=N0 ;! N0=N0+1 ->1 43: *ERASE **INT(A') 61: *DUP *SET 32767 *- *J45>Z ;! %IF U>32767 %THEN ->45 76: *I12 *=M5M6 ;! A(R)=1 *M+I6 ;! R=R+1 *=M5M6 ;! A(R)=U ->1 45: *SET 3 *=M5M6 ;! A(R)=3 *M+I6 ;! R=R+1 **N0 *DUP *=M5M6 ;! A(R)=N0 *DUP *NOT *NEG **=N0 ;! N0=N0+1 *=M13 *=M9M13 ;! ST(N0)=U ->1 ! PHRASE N BIP(1003):*M7M8 *DUP *I5 *- *J99 *DUP *I7 *- *J9>Z ;! %IF I>'9' %THEN ->9 *ZERO *REV 38: *REV *SET 10 *XD *CONT *+ *I5 *- ;! U=10*U+I-'0' *M7M8QN *DUP *I5 *- *J8181 *DUP *I7 *- *J38<=Z ;! %IF I<='9' %THEN ->38 81: *ERASE *=M5M6 ->1 ! PHRASE S BIP(1004):*M7M8 *SET 10 ;! '\' *J82= ;! %IF I=10 %THEN ->82 *SET 59 ;! '' *- *J3#Z ;! %IF I#59 %THEN ->3 83: *M+I8 ->2 82: *ERASE ->2 ! PHRASE TEXT BIP(1005):*M7M8 39: *SET10 ;! '\' *J82= ;! %IF I=10 %THEN ->82 *SET 59 ;! '' *- *J83=Z ;! %IF I=59 %THEN ->1 *M7M8QN ->39 ! PHRASE CAPTION TEXT BIP(1006):**N0 *DUP *=M5M6 *DUP *=M15 *=RM14 * SET 32 *=C14 *ZERO *M-I8 93: *M7M8QN *SET 10 ;! '\' *J47= *SET 59 ;! '' *J47= *SET 95 ;! _ *J91= *SET 92 ;!\ *J92= 49: *SHLC14 *OR *C14 *SET 8 *- *DUP *J50 93 91: *ERASE *SET 32 ;! '_' ->49 92: *ERASE *SET 10 ;! '\' ->49 50: *ERASE *=M9M14Q *SET 40 *=C14 *ZERO -> 93 47: *ERASE *DUP *J51=Z *=M9M14 *J98 51: *ERASE *M-I14 98: *M14 *M15 *- *NOT; *NEG; *SHL40 *M9M15; *OR *=M9M15 *M+I14 *M14 **=N0 ->1 ! PHRASE OCTAL BIP(1007):*M7M8 *DUP *I5 *- *J9Z *ZERO *REV 41: *REV *SHL+3 *+ *I5 *- *M7M8QN *DUP *I5 *- *J991 ! PHRASE SET MARKER 1 BIP(1008):*M6 **=MARKER 1 ->2 ! PHRASE SET MARKER 2 BIP(1009):*M6 **=MARKER 2 ->2 %END * * * A SWOP